Reworking the core logic

Ditching a the for logic code of the first draft; I've added some notes
as to why whilst leaving the old code in place for reference.

New code file is mainly an updated of the help text to reflect the
intended functionality (subject to change of course)