Populate session
Clean up some error handling so it's not so crappy (it's still
crappy...)