some multipurpose tools and classes