start adding tests and then code
tests fail