first commit
complete solution for part2