change init function