A method comprising: receiving, at a network node in a heterogeneous network, mobility data comprising a speed at which a device is moving, the device (218,220, 216,222) being serviced by a first cell in the heterogeneous network comprising at least a non-cellular node type and a cellular node type, wherein the first cell is one of the cellular node type or the non-cellular node type, to yield a first cell node type; classifying, via the network node, the device into a mobility class, among a plurality of mobility classes, based on the mobility data of the device, wherein the classification comprises an access type and an indication of an access priority to the access type, wherein the access priority comprises at least an acceptable access type or a preferred access type, and wherein the access type is identified from a list of access types which comprises at least one of the non-cellular node type and the cellular node type; measuring, via the network node, a distribution of devices and load levels across a plurality of cells to yield an analysis, and when the analysis indicates an imbalance of cell loads, adjusting a boundary of the mobility class among a plurality of mobility classes, wherein adjusting the boundary of the mobility class among the plurality of mobility classes comprises increasing an upper speed associated with an upper boundary of the mobility class or decreasing a lower speed associated with a lower boundary of the mobility classes; and making, via the network node, a handoff decision when handing off the device from the first cell to a second cell based at least in part on the access priority of the access type of the first and the second cells as indicated in the mobility class of the device, wherein the second cell is one of the cellular node type or the non-cellular node type, to yield a second cell node type and wherein the first cell node type differs from the second cell node type. receiving, at a network node in a heterogeneous network, mobility data comprising a speed at which a device is moving, the device (218,220, 216,222) being serviced by a first cell in the heterogeneous network comprising at least a non-cellular node type and a cellular node type, wherein the first cell is one of the cellular node type or the non-cellular node type, to yield a first cell node type; classifying, via the network node, the device into a mobility class, among a plurality of mobility classes, based on the mobility data of the device, wherein the classification comprises an access type and an indication of an access priority to the access type, wherein the access priority comprises at least an acceptable access type or a preferred access type, and wherein the access type is identified from a list of access types which comprises at least one of the non-cellular node type and the cellular node type; measuring, via the network node, a distribution of devices and load levels across a plurality of cells to yield an analysis, and when the analysis indicates an imbalance of cell loads, adjusting a boundary of the mobility class among a plurality of mobility classes, wherein adjusting the boundary of the mobility class among the plurality of mobility classes comprises increasing an upper speed associated with an upper boundary of the mobility class or decreasing a lower speed associated with a lower boundary of the mobility classes; and making, via the network node, a handoff decision when handing off the device from the first cell to a second cell based at least in part on the access priority of the access type of the first and the second cells as indicated in the mobility class of the device, wherein the second cell is one of the cellular node type or the non-cellular node type, to yield a second cell node type and wherein the first cell node type differs from the second cell node type.