this should be returned by the user object. the app shouldn't need to know how to create uris