library for various things