reworked, now notification driven