add user creation/login

object mocking for tests took so long to grok :triumph: