helper functions, methods, classes and categories