adjusted to new scope of execute