Added documentation and a new convenience constructor.