First iteration, with unit tests and readme