component tuple is a great idea.
Semi-working state.