copy over utils from johnfn library

Created by  Bowei Liu  on December 5, 2020
TQ57VE45BHV7MOZ6GKTYZEAMAOTXLPQ3ROCWJ2FUCITQWOYVMUIAC
Change contents