external linking logic