first commit
completed 1 and 2