refactored architecture, still bubbling up to views