using Observer-pattern