Made abstract region a parametrized class