Some refactoring and another version of algorithm B