added tests, final push