add ordering for datamapper
refactor read options into separate class
extend refactoring to custom routes