Added image uploading, along with a refactoring of resource. Migration needed