fixed lvalue bug