Start to break up the code into separate components