simplifying polygon constructors and interfaces