implemented OGP