added user functionality, but not tested in browser