Rewrite the DataHolders for greater flexibility
Changed the DataHolder search algorithm