refactoring write to mirror read of decimal