Major design change. Simplified. Needs notes and extras added later.