if some are zero, there's still a valid move