Adding open close principle