add json, finite, nan + register