Refactor
add Execution class