Massive rewrite and adjustment with many fallbacks

Create new functions. Fallbacks e.g. if more than 1 result or if length
does not match.  Rework some styles for smaller pieces.