- removed errors
- implemented observer logic