support for image uploading (just works, need more improvement to be done)