working through http://tour.golang.org/