One bug fixed - all tests pass with flying colours (excepting the uninitialised value errors, someone else can fix them)...