refactored names in fourth and added some commentary