A lot of visual stuff, added the image upload