moved loading to IOHandler