replaced mp_bitcnt_t with ULong