change datastructure for validMoves

prepares partial move impementation
implement partial moves

needs testing, but later...