Added logic to handle varying levels of existing information