insure load() always return string
remove format_i

it only works under strict mode?
cache file should also be in hack