Fixing icon access and adding upload.

- Refactored and simplified backend api
- Some other cleanups