rough documentation for developers.