formatting and documentation