Got the SetRectangle working correctly; it still had small offsets... But dude... Drake... I just realised... Dunno if you thought about this before, but moving and copying will be almost impossible... What are full bytes at the source won't be full bytes at the destination (well, 7/8 of the time)... so... we'd have to offset each byte... wtf no way. If there was a bit shift operator, it would be much easier, but... bleh :/ Unless we make some small c++ dll for this lol, we give it pointers and it does the job for us Can c++ bitshift large portions of memory? ... Unless someone comes with a brilliant idea, or if I missed something (being tired and all), I'm giving up on the bitArray, and will work on the byteArray instead