floating point exception fixed