finish precondition