adding in middleware component (and updating travis.yml to not cause issues with Travis again)