things work, seem slow
added some testing
more tests