Complete with documenting headers.