Add some comments
Fixed a grammatical error)
Remove unnecessary assignment
Add polygon and point types
Reworked assignment of secondary constructors on main constructor