Add a preloader

fixes #292