Lots of different changes: - modular code with lots of helper methods - fixed the return jump address getting overridden bug