Major changes

Renamed static to public
Re-wrote large chunks of code