commit week1: pattern step by step