updated the init function to throw an exception in the case the required level is not met by the library