Make error reporting better as well as fix issue where the module continues to load if the device wasn't initialized. Seeded the mersenne twister correctly.