Using pattern Observer