kickstart bonding support

This PR adds bonding support for kickstart. 
This is based on top of #60, so that one needs to be merged first
This function has grown too large. Can you move all the bonding logic to another function, and call it from here?