customize initialization