more in-depth discussion of method usage