My understanding of interfaces