step0, step1, step2 are done