added tests and models