http://mattberseth.com/blog/2007/12/data_navigation_with_the_listv.html