refactory the utility into package.