Refactored code

Heavy refactoring of code to allow for easier scaling, like the addition
of a second character