Added  some kinds of init method