implement regions (part 1)
implement dof regions