Add classes to decouple features(single responsibility principle)