Start open closed principle