add exception framework
add two kinds of steps
add retry times for steps in each process