implement new execute logic