started to split out the gui and viewmodels into smaller chunks
further redesign of gui and vms
lots of changes sorry!