better and more tests. good coverage now