module now returns a class