working precondition