renames and functionality in-place