added an initial append implementation