user server abstract class