traditional observer + fixed bugs on traditional overlay and prot