Reworked a few methods to more closely match the real system
Added mulitple aggregation steps
Some cleanup formatting