clean up
implement image upload widget