added example of shapes but with OCP