client can detect initial attr & changed attr