notes
controller
refactor to `template` compiler