Initial push, SOLO contains a lot of functionality,
not all tested, not all commented etc.