replace User with IUser