add enum and test json parse