Add image uploader

Also, some cosmetic changes & code touch up