you can now define your main function as a class with a __call__ method