models to handle concurrency