IDP_G implementation