Proper initialization code -- asks for various parameters.