work on component restarting and module reloading