add new data strcuture and try to use gson instead