just a bunch of useful functions, classes etc