using corse blocking since concurrent stuff doesnt work