preconditions and assumptions
X