Modified to conform with CyanCor style guidelines.