Basic start

Does not work, but a first attempt.
Needs tests to continue.