add function to generate IO header and sources