Module system

FFI files have not been updated--revision in process.