updated src for newer compilers