I get the basic idea but in reading over the rest of the code I readily got lost. Can you add some more documentation to the methods or expand on the idea here?