account for duplicate section names, duplicate key names, error handling