- added remove observer feature