BHV-699: improved implementation