added first iteration of observer code