new arch

in-file MVC design