add StructToMap function