expanded doc string