add register func