cleanup also happened in util.js