Many changes, refactoring, modularisation, corrected package names, renamed classes,