latest crack at some new generalisation - BROKEN