Would you mind adding a comment on layoutChord2() to explain it's only for the same direction. I personally wouldn't mind if the name of the method was more descriptive.