Open Close principle added