wrote descriptions for lots of methods