This version works start to finish.