Init function will now return void and when an error happens it will throw an exception