initialization with custom provider of init method