改用 callback 的寫法，省去 object 記憶體