First version, no mocks and bad design