implemented pull moves, not tested