now for adding middleware
it works!
docs! sorta