handle bitfield better