This needs reformatting - long lines; will do during merge.

LGTM; merging