Refactor Frenzy

This pull request should not be merged until all functionality has been fully restored as currently present in the master branch. This pull request has been made for reviewing purposes as a lot of internal changes have been made.