I take that back, we should add a new map.c source file where we define all of the map functions used so that we can avoid having so many preprocessor directives in the encoder and decoder.