refactored code.  added new component "viewport". scrolls and zooms grids
and these files...
refactored