there are multiple places to do same thing, please consider to reuse it instead of copy.