step 1 to 8 :)