added tests for everything