Changed to manual init with settings, additional contents and callback