almost there with the generic from json method