gson protocol implemented