mthread reimplement reloading and other