refactoring EstimateViewModel