Register function implemented