first pass at axle.logic