rewrite module
rewrite module
rewrite module
update doc
add comments; update doc;