add start and init function