quick try to provide services via abstract class