comply with all c compilers