added default middleware