add tests
remove warnings