refactor logic, include property current value