split editor controller
fix some bugs
fix bugs with persistence