updated preload method