updates - better docs, fewer public functions