map fields more functionally