refactored hugely to make better naming conventions for better future, forward-thinking