c implementation files (not m!)