add glup support and require native module