Added Strategy and Observer