Moved from Cpluplus