Changes
- Overhauled many functions for better readability, easier maintenance and future updates. Simplified some and improved the overall performance/efficiency of others
- Add a default value to hex shift
Bug fixes
- Fixed a bug with hex shifts, where the shift value was being parsed as a string instead of a number giving incorrect results