An explanation of CNC software