giant refactor - moving out individual module into their own containers