Lots of changes and first tests.

Do not use, WIP