Attempt to extract/formalise the logic that affected issue #1
Better logging...