add generic support to UserStore