adding support for shelf middleware