Added support for return type of init method to be instancetype