add preload function #2

close #2