Restructing to make init cleaner.