clean up backport, make address optional