user class and authentication