Utility functions, classes and data types