my personal library of useful functions