fix one vm bug. rewrite module management