still working on precision issues.