uses params for shared examples