frac can possibly go over 16bits