modify execute function