commented out middleware as it's optional