add feature: image upload and delete