using the init function