http://play.golang.org/p/YdnsVlZgW6