Emulation

Low-level emulation

High-level emulation