added extension and cpp parsing