global view refactored, DOM now updates granularly