implemented new data strategy using delegate callbacks for all data