tests + docs