Centralised the file loop
Slimmed interface between base and version specific modules
All non-AST logic is now centralised