implement basic UserRepository functionality