add alias middleware.
TODO: docs for it
add persistence support
add docs for alias + some issues