support complex data types; uses select multiple or multiple checkboxes for the moment; implementation is hacky as is the whole form handling