separate type and mapped type
add option to not pass instantiated objects