Some comments and some test code to help understand