changed linking system

- any new references to shared code require linking at the file level,
rather than DLL-level