improved observer libraries