use memcpy instead of memset whenever possible
make peek and poke more efficient.