code style and doc