added a bunch of new stuff for making chords, untested, need to push to get off work comp =P