added metric observer