feat: add json schema module