main modules set up with