Concurrent thinking