unifying linear and non-linear interfaces