replaced identifiers with leading underscores for better C standard compliance