add preloading method