diff --git a/dist/reactComponents/Radio.d.ts b/dist/reactComponents/Radio.d.ts
index b2d78ac61aaa31647738776584cd35c508710c6e..07ef8a9c613bf8f3d9964d9f8fa34e117fd7f9c1 100644
--- a/dist/reactComponents/Radio.d.ts
+++ b/dist/reactComponents/Radio.d.ts
@@ -3,21 +3,23 @@
  */
 import React = require("react");
 import 'jquery-ui';
-export interface iRadioItem {
+export interface iRadioItemOpt {
+    index?: number;
+}
+export interface iRadioItem extends iRadioItemOpt {
     groupId: string;
     text: string;
     checked: boolean;
     inline: boolean;
     change: (s: string) => any;
-    connected: boolean;
-    index: number;
+    connected?: boolean;
 }
 export declare class Radio extends React.Component<{
     title: string;
     items: string[];
     callback: (val: string) => any;
-    inline?: boolean;
     defaultValue: string;
+    inline?: boolean;
     classes?: string[];
 }, {}> {
     render(): JSX.Element;
diff --git a/dist/reactComponents/Radio.js b/dist/reactComponents/Radio.js
index dfb445bede7300e9ff83e2239dc165e443d06903..9b880dddf0b53170da1b22bb56dca5a6e0fff01c 100644
--- a/dist/reactComponents/Radio.js
+++ b/dist/reactComponents/Radio.js
@@ -42,10 +42,6 @@ class RadioItem extends React.Component {
             React.createElement("label", { htmlFor: this.guid }, this.props.text));
     }
 }
-RadioItem.defaultProps = {
-    connected: false,
-    index: null
-};
 class RadioBase extends React.Component {
     constructor(props, context) {
         super(props, context);
@@ -83,9 +79,29 @@ class RadioBase extends React.Component {
             React.createElement("ul", { style: { listStyle: 'none' } }, arr));
     }
 }
-RadioBase.defaultProps = {
-    inline: false
-};
+//
+// interface _iRadioBaseOpt {
+//     inline?: boolean;
+//     classes?: string[];
+// }
+//
+// interface _iRadioBase extends _iRadioBaseOpt{
+//     title: string;
+//     items: string[];
+//     callback: (val: string) => any;
+//     connected: boolean;
+// }
+//
+// interface iRadioBase extends _iRadioBase{
+//     selectedValueOrIndex: string|number;
+// }
+// interface iRadio {
+//     title: string;
+//     items: string[];
+//     callback: (val: string) => any;
+//     inline?: boolean;
+//     classes?: string[];
+// }
 class Radio extends React.Component {
     render() {
         return React.createElement(RadioBase, { title: this.props.title, items: this.props.items, callback: this.props.callback, inline: this.props.inline, selectedValueOrIndex: this.props.defaultValue, connected: false, classes: this.props.classes });
diff --git a/dist/reactComponents/Radio.js.map b/dist/reactComponents/Radio.js.map
index 9222f41c04567a24da5e058251769a6d767fc82f..ed0fedc8292080e6ca0a9e0fb3b817674f632aa4 100644
--- a/dist/reactComponents/Radio.js.map
+++ b/dist/reactComponents/Radio.js.map
@@ -1 +1 @@
-{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/reactComponents/Radio.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\n\r\n\r\nimport React = require(\"react\");\r\n\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\nimport {ChangeEvent} from \"react\";\r\n\r\nexport interface iRadioItem{\r\n    groupId: string;\r\n    text: string;\r\n    checked: boolean;\r\n    inline: boolean;\r\n    change: (s: string) => any;\r\n    connected: boolean;\r\n    index: number\r\n}\r\n\r\nclass RadioItem extends React.Component<iRadioItem, {}> {\r\n    static defaultProps = {\r\n        connected: false,\r\n        index: null\r\n    }\r\n\r\n    guid: string;\r\n\r\n    constructor(props: iRadioItem, context: Object){\r\n        super(props, context);\r\n        this.guid = makeGuid()\r\n    }\r\n\r\n\r\n    render() {\r\n        let style = {};\r\n        if (this.props.inline) {\r\n            style = {\r\n                display: 'inline-block',\r\n                padding: '0 5px'\r\n            };\r\n        }\r\n\r\n        let props = {\r\n            id: this.guid,\r\n            type: \"radio\",\r\n            name: this.props.groupId,\r\n            value: typeof this.props.index == 'undefined' ? this.props.text : this.props.index.toFixed(),\r\n            onChange: (evt: ChangeEvent<HTMLInputElement>) => {\r\n                this.props.change(evt.target.value);\r\n                evt.target.checked = true;\r\n            },\r\n            checked: this.props.checked,\r\n            defaultChecked:  this.props.checked\r\n        };\r\n\r\n        if (this.props.connected) {\r\n            delete props.defaultChecked;\r\n        } else {\r\n            delete props.checked\r\n        }\r\n\r\n        return <li style={style}>\r\n            <input {...props}/>\r\n            <label htmlFor={this.guid}>{this.props.text}</label>\r\n        </li>;\r\n    }\r\n}\r\n\r\ninterface iRadioBase {\r\n    title: string;\r\n    items: string[];\r\n    callback: (val: string) => any;\r\n    inline: boolean;\r\n    selectedValueOrIndex: string|number;\r\n    connected: boolean;\r\n    classes?: string[]\r\n}\r\n\r\nclass RadioBase extends React.Component<iRadioBase, {}> {\r\n    static defaultProps  = {\r\n        inline: false\r\n    };\r\n\r\n    inline: boolean;\r\n    groupId: string;\r\n\r\n    constructor(props: iRadioBase, context: Object) {\r\n        super(props, context);\r\n        this.inline = this.props.inline || false;\r\n        this.groupId = this.props.title.toLowerCase().replace(/ /g, '');\r\n    }\r\n\r\n    render() {\r\n\r\n        let arr = [];\r\n\r\n        for (let i = 0; i < this.props.items.length; i++) {\r\n\r\n            let itemProps = {\r\n                groupId: this.groupId,\r\n                text: this.props.items[i],\r\n                inline: this.props.inline,\r\n                change: (s: string) => (this.props.callback(s)),\r\n                key: this.props.items[i],\r\n                connected: this.props.connected || false,\r\n                checked: false,\r\n                index: i\r\n            };\r\n\r\n            if (typeof this.props.selectedValueOrIndex == 'number'){\r\n                itemProps.checked = i == this.props.selectedValueOrIndex;\r\n            } else {\r\n                itemProps.checked = this.props.items[i] == this.props.selectedValueOrIndex;\r\n                delete itemProps.index\r\n            }\r\n\r\n            arr.push(<RadioItem {...itemProps}/>)\r\n        }\r\n\r\n        let classes = ['radio-list'];\r\n\r\n        if (this.props.classes){\r\n            classes = classes.concat(this.props.classes);\r\n        }\r\n\r\n        return <div className={classes.join(' ')}>\r\n            <h4>{this.props.title}</h4>\r\n            <ul style={{listStyle: 'none'}}>\r\n                {arr}\r\n            </ul>\r\n        </div>\r\n    }\r\n}\r\n\r\n\r\nexport class Radio extends React.Component<{\r\n    title: string, items: string[], callback: (val: string) => any, inline?: boolean,\r\n    defaultValue: string, classes?: string[] }, {}> {\r\n\r\n    render() {\r\n\r\n        return <RadioBase\r\n            title={this.props.title}\r\n            items={this.props.items}\r\n            callback={this.props.callback}\r\n            inline={this.props.inline}\r\n            selectedValueOrIndex={this.props.defaultValue}\r\n            connected={false}\r\n            classes={this.props.classes}\r\n        />\r\n    }\r\n}\r\n\r\nexport class RadioConnected extends React.Component<{\r\n    title: string, items: string[], callback: (val: string) => any, inline?: boolean,\r\n    selectedIndex: number, classes?: string[] }, {}> {\r\n\r\n    render() {\r\n        return <RadioBase\r\n            title={this.props.title}\r\n            items={this.props.items}\r\n            callback={this.props.callback}\r\n            inline={this.props.inline}\r\n            selectedValueOrIndex={this.props.selectedIndex}\r\n            connected={true}\r\n            classes={this.props.classes}\r\n        />\r\n    }\r\n}"]}
\ No newline at end of file
+{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/reactComponents/Radio.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\n\r\n\r\nimport React = require(\"react\");\r\n\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\nimport {ChangeEvent} from \"react\";\r\n\r\nexport interface iRadioItemOpt {\r\n    index?: number\r\n}\r\n\r\nexport interface iRadioItem extends iRadioItemOpt{\r\n    groupId: string;\r\n    text: string;\r\n    checked: boolean;\r\n    inline: boolean;\r\n    change: (s: string) => any;\r\n    connected?: boolean;\r\n\r\n}\r\n\r\nclass RadioItem extends React.Component<iRadioItem, {}> {\r\n    guid: string;\r\n\r\n    constructor(props: iRadioItem, context: Object){\r\n        super(props, context);\r\n        this.guid = makeGuid()\r\n    }\r\n\r\n\r\n    render() {\r\n        let style = {};\r\n        if (this.props.inline) {\r\n            style = {\r\n                display: 'inline-block',\r\n                padding: '0 5px'\r\n            };\r\n        }\r\n\r\n        let props = {\r\n            id: this.guid,\r\n            type: \"radio\",\r\n            name: this.props.groupId,\r\n            value: typeof this.props.index == 'undefined' ? this.props.text : this.props.index.toFixed(),\r\n            onChange: (evt: ChangeEvent<HTMLInputElement>) => {\r\n                this.props.change(evt.target.value);\r\n                evt.target.checked = true;\r\n            },\r\n            checked: this.props.checked,\r\n            defaultChecked:  this.props.checked\r\n        };\r\n\r\n        if (this.props.connected) {\r\n            delete props.defaultChecked;\r\n        } else {\r\n            delete props.checked\r\n        }\r\n\r\n        return <li style={style}>\r\n            <input {...props}/>\r\n            <label htmlFor={this.guid}>{this.props.text}</label>\r\n        </li>;\r\n    }\r\n}\r\n\r\ninterface _iRadioBaseOpt {\r\n    inline?: boolean;\r\n    classes?: string[];\r\n}\r\n\r\ninterface _iRadioBase extends _iRadioBaseOpt{\r\n    title: string;\r\n    items: string[];\r\n    callback: (val: string) => any;\r\n    connected: boolean;\r\n}\r\n\r\ninterface iRadioBase extends _iRadioBase{\r\n    selectedValueOrIndex: string|number;\r\n}\r\n\r\nclass RadioBase extends React.Component<iRadioBase, {}> {\r\n    inline: boolean;\r\n    groupId: string;\r\n\r\n    constructor(props: iRadioBase, context: Object) {\r\n        super(props, context);\r\n        this.inline = this.props.inline || false;\r\n        this.groupId = this.props.title.toLowerCase().replace(/ /g, '');\r\n    }\r\n\r\n    render() {\r\n\r\n        let arr = [];\r\n\r\n        for (let i = 0; i < this.props.items.length; i++) {\r\n\r\n            let itemProps = {\r\n                groupId: this.groupId,\r\n                text: this.props.items[i],\r\n                inline: this.props.inline,\r\n                change: (s: string) => (this.props.callback(s)),\r\n                key: this.props.items[i],\r\n                connected: this.props.connected || false,\r\n                checked: false,\r\n                index: i\r\n            };\r\n\r\n            if (typeof this.props.selectedValueOrIndex == 'number'){\r\n                itemProps.checked = i == this.props.selectedValueOrIndex;\r\n            } else {\r\n                itemProps.checked = this.props.items[i] == this.props.selectedValueOrIndex;\r\n                delete itemProps.index\r\n            }\r\n\r\n            arr.push(<RadioItem {...itemProps}/>)\r\n        }\r\n\r\n        let classes = ['radio-list'];\r\n\r\n        if (this.props.classes){\r\n            classes = classes.concat(this.props.classes);\r\n        }\r\n\r\n        return <div className={classes.join(' ')}>\r\n            <h4>{this.props.title}</h4>\r\n            <ul style={{listStyle: 'none'}}>\r\n                {arr}\r\n            </ul>\r\n        </div>\r\n    }\r\n}\r\n\r\n//\r\n// interface _iRadioBaseOpt {\r\n//     inline?: boolean;\r\n//     classes?: string[];\r\n// }\r\n//\r\n// interface _iRadioBase extends _iRadioBaseOpt{\r\n//     title: string;\r\n//     items: string[];\r\n//     callback: (val: string) => any;\r\n//     connected: boolean;\r\n// }\r\n//\r\n// interface iRadioBase extends _iRadioBase{\r\n//     selectedValueOrIndex: string|number;\r\n// }\r\n\r\n// interface iRadio {\r\n//     title: string;\r\n//     items: string[];\r\n//     callback: (val: string) => any;\r\n//     inline?: boolean;\r\n//     classes?: string[];\r\n// }\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport class Radio extends React.Component<{\r\n    title: string,\r\n    items: string[],\r\n    callback: (val: string) => any,\r\n    defaultValue: string,\r\n    inline?: boolean,\r\n    classes?: string[] }, {}> {\r\n\r\n    render() {\r\n\r\n        return <RadioBase\r\n            title={this.props.title}\r\n            items={this.props.items}\r\n            callback={this.props.callback}\r\n            inline={this.props.inline}\r\n            selectedValueOrIndex={this.props.defaultValue}\r\n            connected={false}\r\n            classes={this.props.classes}\r\n        />\r\n    }\r\n}\r\n\r\nexport class RadioConnected extends React.Component<{\r\n    title: string,\r\n    items: string[],\r\n    callback: (val: string) => any,\r\n    inline?: boolean,\r\n    selectedIndex: number,\r\n    classes?: string[] }, {}> {\r\n\r\n    render() {\r\n        return <RadioBase\r\n            title={this.props.title}\r\n            items={this.props.items}\r\n            callback={this.props.callback}\r\n            inline={this.props.inline}\r\n            selectedValueOrIndex={this.props.selectedIndex}\r\n            connected={true}\r\n            classes={this.props.classes}\r\n        />\r\n    }\r\n}"]}
\ No newline at end of file
diff --git a/src/reactComponents/Radio.tsx b/src/reactComponents/Radio.tsx
index ba77e84cbf91fe17022882f520b5ebd36d63c44c..cc2ee07691538f85f273808f33bcd2fa68d0af3d 100644
--- a/src/reactComponents/Radio.tsx
+++ b/src/reactComponents/Radio.tsx
@@ -10,22 +10,21 @@ import 'jquery-ui';
 import makeGuid from '../util/makeGuid';
 import {ChangeEvent} from "react";
 
-export interface iRadioItem{
+export interface iRadioItemOpt {
+    index?: number
+}
+
+export interface iRadioItem extends iRadioItemOpt{
     groupId: string;
     text: string;
     checked: boolean;
     inline: boolean;
     change: (s: string) => any;
-    connected: boolean;
-    index: number
+    connected?: boolean;
+
 }
 
 class RadioItem extends React.Component<iRadioItem, {}> {
-    static defaultProps = {
-        connected: false,
-        index: null
-    }
-
     guid: string;
 
     constructor(props: iRadioItem, context: Object){
@@ -69,21 +68,23 @@ class RadioItem extends React.Component<iRadioItem, {}> {
     }
 }
 
-interface iRadioBase {
+interface _iRadioBaseOpt {
+    inline?: boolean;
+    classes?: string[];
+}
+
+interface _iRadioBase extends _iRadioBaseOpt{
     title: string;
     items: string[];
     callback: (val: string) => any;
-    inline: boolean;
-    selectedValueOrIndex: string|number;
     connected: boolean;
-    classes?: string[]
 }
 
-class RadioBase extends React.Component<iRadioBase, {}> {
-    static defaultProps  = {
-        inline: false
-    };
+interface iRadioBase extends _iRadioBase{
+    selectedValueOrIndex: string|number;
+}
 
+class RadioBase extends React.Component<iRadioBase, {}> {
     inline: boolean;
     groupId: string;
 
@@ -135,10 +136,43 @@ class RadioBase extends React.Component<iRadioBase, {}> {
     }
 }
 
+//
+// interface _iRadioBaseOpt {
+//     inline?: boolean;
+//     classes?: string[];
+// }
+//
+// interface _iRadioBase extends _iRadioBaseOpt{
+//     title: string;
+//     items: string[];
+//     callback: (val: string) => any;
+//     connected: boolean;
+// }
+//
+// interface iRadioBase extends _iRadioBase{
+//     selectedValueOrIndex: string|number;
+// }
+
+// interface iRadio {
+//     title: string;
+//     items: string[];
+//     callback: (val: string) => any;
+//     inline?: boolean;
+//     classes?: string[];
+// }
+
+
+
+
+
 
 export class Radio extends React.Component<{
-    title: string, items: string[], callback: (val: string) => any, inline?: boolean,
-    defaultValue: string, classes?: string[] }, {}> {
+    title: string,
+    items: string[],
+    callback: (val: string) => any,
+    defaultValue: string,
+    inline?: boolean,
+    classes?: string[] }, {}> {
 
     render() {
 
@@ -155,8 +189,12 @@ export class Radio extends React.Component<{
 }
 
 export class RadioConnected extends React.Component<{
-    title: string, items: string[], callback: (val: string) => any, inline?: boolean,
-    selectedIndex: number, classes?: string[] }, {}> {
+    title: string,
+    items: string[],
+    callback: (val: string) => any,
+    inline?: boolean,
+    selectedIndex: number,
+    classes?: string[] }, {}> {
 
     render() {
         return <RadioBase