memory and related abstraction stuff
