initialization part 2