Little improvement, several todos in code... This needs much more work and especially cleanups!