added ideal cpp file