Refactored to simplify and remove image upload, will be moved to a controller