lots of backend stuff
caching and web api getAll