Establishing framework. A lot is empty and requires logic  added, 
but that's tomorrow's problem.