Requires a main of course