different types of execute