copied backend architecture from the clarin-wiki, seems to be up-to-date