uses Tools::file_get_contents