trying the observer thing