added polygon typedef