lecture 20: docs and testing