Concurrency work

The work to fulfil #4