add software, modify effecitve cpp