## unit tested in bm.R