modified bitvec.h