all monitors extends abstract monitor