add logic and service