refactor the code about ifc mapper