Program Flow Improvements

Using BTW Episode 23 code - not yet completed