First working implementation
Todos