implemented open graph