Implements Register