adding a debug mode, finalized the user input loops

the program is essentially in it’s finally state, at least for the
project hand in