update init function