Edited to improve readability.