return self from init