function drawLine(screen, width, x1, x2, y){
  // validations
  if(x2 <= x1 || x1 < 0) { return screen; }

  const i1 =  y * screen.length/(width/8) + parseInt(x1/8);
  const i2 =  y * screen.length/(width/8) + parseInt((x2 - 1)/8);

  // console.log(i1, i2, screen.length/(width/8));

  for(let i = i1; i <= i2; i++) {
    if(i1 === i2) {
      screen[i] = bm.setBitsRange(screen[i], (8 - x2 % 9), (8 - x1 % 8));
    } else if (i === i1) {
      screen[i] = bm.setBitsRange(screen[i], 0, (8 - x1 % 8));
      // console.log(i, screen[i], 0, (8 - x1));
    } else if (i === i2) {
      screen[i] = bm.setBitsRange(screen[i], (8 - x2 % 8), 8);
      // console.log(i, screen[i], (8 - x2 % 8), 8);
    } else {
      screen[i] = bm.setBitsRange(screen[i], 0, 8);
      // console.log(i, screen[i], 0, 8);
    }
  }

  return screen;
}
@param screen array of bytes
@param width {integer} in bytes
@param x1 integer
@param x2 integer
@param y integer