messy.
TODO: better way to detect chords