starting a new version of memory mapping. Not finished.