This mapping is repeated a few times. I'd propose adding functions to map from real column to hidden column and vice versa.