add doc, format code