tons of changes for modularization

mostly views, but also some validation and var names