Higher-level helper functions