restructure EstimateSelector with dependency injection of User object.