shuffle interface-reading code around to create InterfacesBase class