lots of improuve, add image upload, working on user authen and authorization