Abstracted .new behaviour into a separate subroutine REGISTER