preconditions breakdwons