reworked preloader + unit tests