User auth + Start of Major Overhaul

Will merge and make new branch so that most overhaul work can be done on clean branch.