library of functions that are useful