Added new classes for user functionality and refactored som url handling code