intermediate step