add tests + shared examples