Added comment to explain strut_shaving()
Generalised the lilypad code and updated the rev2 box
Refactored rev1 boxes and dealt with special cases where n is 1