Re-structured code
Make addresses the first *required* argument