Gross framework. Not polished.