fixed haste function