Updated and refactored User API