Real implementation of register