clean code and add push notification services