complete user class