bring back init method