first pass at dynamic bpm