most of the basic set up