some changes in initialization
add rules for initialization