move preload to controller