resuability and correctness