fix precondition