add Observer Patter - part 1