step1 and 2