add a summon action + optimize