#2 HL register + tests