progress on re-implementing with foundation.