barrier check fix + lots of cohesion fiddling