algorithm util library