Implement a simple simulator