wrapper of EGL