Revised for better layout.