documentation and code layout