1. Background
Core Concepts
First Attempt
Second Attempt
Virtualization Attempt
Combining the Concepts