summon controller, some refactors