test pass, still working on writing tests, and make them work