controller flow-charts first attempt