added base for marshaling function generation