added linear type support back in