added strict mode, if enabled will throw a MappingException if input type doesn't constructor types, even if optional parameter