Add Decorator and Open-Closed