external observe