added classes for wrapping native code