update doc
lots of small touches and features