Works fine. Almost finalized.
Still doesn't work, but now with tests