defined interface