changes images upload etc...refactoring