Mostly complete implementation of User API