make it compatible with g++