sync with evaleev/BTAS: transition to Range-based design is complete

All tests compile and "pass".