re-work format detection and requirements IN PROCESS, DOES NOT WORK
update type/format checking to allow multiple requested types and let the type checking work a little more fluidly