set up modules and components