add abstract memory manange class