Reorganized methods

Methods that are used outside the class are at the top and helper
methods are on the bottom