megamethod has been slain
shortened up some functions and moved some code out to helpers
also moved some of the user updating stuff to the actual user class