fixing C compatibility problems