Adding improvements, mostly additional documentation, based on review.