Refactor, redesign execute