Minor improvements plus addition of interfaces