changed from c++ requirement