refinement: extract another method.