bmp
added grayscale and accounted for bmp offset bytes
bmp cleanup