implemented CastlingMove.exec, still needs cleanup