Edits thanks to Scott Meyers.