Split c2s module to separate header/source files