continued refactoring, first successful test of optional decimals