Implement selective move generation