refactor and make region::name private
dynamic memory allocation for region::name