Overhaul part 3
Overhaul part 4