continuing refactoring. most views added... need events