refactored bitmap_t