small amount of code refactoring and addition, getting ready to make some big changes