rough documentation pass