added getInterfaces function