add default for precondition