made suer everything fit within 80 cols
lots of refactoring with mock data