custom OAuth class example