cleanup
update address before read