upload image backend (see TODO s) and Lin's queries