const correctness and move