Restructure

initial transition from 1 big file to smaller files (modules)