move the whole of the previous viewDidLoad into init, to make sure things work and it is much less hacky