added tests and git ignore