Observer pattern added