added more methods, checking for user types