New API for standalone use without inheritance