Refactor a bunch of crap
Make better