changed map to {}.runtimeType and List to Iterable for better compatibility