User authentication

@keonw check this out