diff --git a/src/DataStructure/CacheItem.cs b/src/DataStructure/CacheItem.cs
index 45ae10f..dc06044 100644
--- a/src/DataStructure/CacheItem.cs
+++ b/src/DataStructure/CacheItem.cs
@@ -1,17 +1,23 @@
+using System.Diagnostics;
+
namespace Skeleton.DataStructure;
///
/// store value from calculation to avoid redundant computations
///
-public abstract class CacheItem
+public class CacheItem
{
+
+ public CacheItem(Func cal) => ProxyCalculator = cal;
+
+ public static readonly CacheItem Null = new CacheItem(x => false);
///
/// if the item needs update
///
public bool Expired { get; protected set; } = true;
internal HashSet References { get; set; } = new();
internal HashSet Dependencies { get; set; } = new();
-
+ private Func