interface def