Implement better vertical node positioning

for GraphLayout project