Better collectChords function