update: code comments
add: doc
update: doc