add a little bit of high-level documentation