translated step1, step5, step6 and bonus.