shared examples ~ hooks