observe user