migrated from bit-io