changed subdirectory encapsulation to interfaces