added in c constant macro because gcc on ubuntu was unhappy