code modify, more reactive