sim: split into base, core, and engines.