Added kernel step and refactored the execution plan