fixed floating point / decimal issues