step-01: improve layout
step-03: improve structure and follow template layout