implement registers and register operations