memory and related abstraction stuff