added variable length surrogate