type map + fmodule