Something that I cooked for the problem @
http://www.careercup.com/question?id=6482755168763904