another refactor for HSalsa