added tests and things