private shared steps