exposed helper functions for extensions