Added initial program flow. It's not complete, but it gives an idea of how I want it to work