some fixes and performance upgrades
first notify implementation