minor tweaks. not storing past? so that it must be recalculated every time