Support different user type