extracted InitMethod()