only get uploaded images
refactor image routes
dont use static cache
json-array-stream -> JSONStream.stringify()