added descriptions for many of the methods