documentation and code style