this is actually a c file, onyl cause C is better