preconditions