paired-down simulator. good, except needs queue instead of synchronization.