Implemented all methods, added tests.