My hackery.

Check this one. It's not yet finished though, so please don't pull yet :). Most importantly, module import is incorrect.