support for non-native and native