broke out common preconditions into backgrounds