working preloader, long version