Refactor OCP