the problem was here: you can't assign to something returned by value