majoring view-template binding refactoring