observer and overload