Initial interface and class definitions