return new value on rename/move. also move logic for err codes in one spot
0.1.5