A lot of improvements, template clean up, (tiny) testing suite included.