Move edge structures into their own file