Reimplement linear moves trait and pawn moves