            let offset = y * self.row_size;
            for x in left..right {
                self.bits[(offset + (x / 32)) as usize] |= 1 << (x & 0x1f);
            }
        }

        return Ok(());
    }

    pub fn get_row(&self, y: isize, row: Option<Box<BitArray>>) -> Box<BitArray> {

        let mut new_row: Box<BitArray>;
        if let Some(row) = row {