changed fns to pass full request all the way down