Finished implementation, added tests