added drum machine nox and made a few refactors to better handle them