Refactored
Added comments for most methods.