added user functionality