added registers and macros