add doc2 functions