pattern observer in progress