update from original 3