using external register