editor controller & routing