added re-initialization since it might be needed when we change the objective weights etc dynamically