fixed my concurrency issue

there should be very little unexpected behaviour now