Generic use classes and functions.