removing differences between header and c file
create a new struct for programs