a few useful libraries