Reverting all the way to the begining to start again instead of refactoring
One more fresh start, hopefully we can make this one nice and clean and pretty