apply register indexing at definition time
draft queue initialization function, split receive and transmit registers definition