Creating Instantiator and improving exceptions