precondition add