add PubServiceImpl class