Something I have been working on for a bit.