fixed precondition