separate core from vm to share code with device like event thread
Fix conflict