faster with 'fast barlocker method' (fast bm)