extension interface