updated User and UserPool interface