change initialization method