fixes: load json twice when fail && transform optimized