added left and right pull methods with tests