interfaces, explicit non explicit , default interface