While working on #87, I found that the layout algorithm is not perfect. 