observer library update