works a bit better now but still not entirely correct. shitty cyclic
barriers...