Not sure why all this has to be in the same file