Fixed #1.
Added freeForm option.
Changed freeform option to allow values outside of list if list exists.