For discussion on #51

Please discuss and merge if it is a start. Uses `add` instead of just the existing pattern.