First pass at combining upload and modify