various small helper libraries