make move validation slightly more manageable