added description and location properties, added M$ line breaks, better docs, updated example, and code cleanup