more example
restructure and add modern c file