diff --git a/content/moretypes.article b/content/moretypes.article
index 7d717f5..579130f 100644
--- a/content/moretypes.article
+++ b/content/moretypes.article
@@ -113,9 +113,29 @@
 
 A nil slice has a length and capacity of 0.
 
+.play prog/tour/nil-slices.go
+
+* Adding elements to a slice
+
+It is common to append new elements to a slice, and so Go provides a built-in
+`append` function. The [[http://golang.org/pkg/builtin/#append][documentation]]
+of the built-in package describes `append`.
+
+	func append(s []T, vs ...T) []T
+
+The first parameter `s` of `append` is a slice of type `T`, and the rest are
+`T` values to append to the slice.
+
+The resulting value of `append` is a slice containing all the elements of the
+original slice plus the provided values.
+
+If the backing array of `s` is too small to fit all the given values a bigger
+array will be allocated. The returned slice will point to the newly allocated
+array.
+
 (To learn more about slices, read the [[http://golang.org/doc/articles/slices_usage_and_internals.html][Slices: usage and internals]] article.)
 
-.play prog/tour/nil-slices.go
+.play prog/tour/append.go
 
 * Range
 
diff --git a/content/prog/tour/append.go b/content/prog/tour/append.go
new file mode 100644
index 0000000..f68e4f8
--- /dev/null
+++ b/content/prog/tour/append.go
@@ -0,0 +1,25 @@
+package main
+
+import "fmt"
+
+func main() {
+	var a []int
+	printSlice("a", a)
+
+	// append works on nil slices.
+	a = append(a, 0)
+	printSlice("a", a)
+
+	// the slice grows as needed.
+	a = append(a, 1)
+	printSlice("a", a)
+
+	// we can add more than one element at a time.
+	a = append(a, 2, 3, 4)
+	printSlice("a", a)
+}
+
+func printSlice(s string, x []int) {
+	fmt.Printf("%s len=%d cap=%d %v\n",
+		s, len(x), cap(x), x)
+}
