open closed principle example