Add magnetude and normalization code.
Normalize yourself, don't just return a normalized quaternion.
Add multiplication by a constant.