final polished project with comments