Updating with more improvements.