Restructure init