learning about interface