Interface changes for high-level functions