modified the AppendImpl() interface