And while you're at it, why not implement something like this as well?