some refinement...