preconditions (executing and expecting), plus a bunch of other stuff