interfaces, classes and another fun stuff