user registrations

all the indentation changes here courtesy of gofmt
I love this. namespaced blocks for temporary variables