completed add a monitor functionality