New API (breaks all the existing code)