refactor: put preloader in directive