added gson interface