Tommo works, but still needs profiling, bugfixing and... more profiling.