Re-write using Writer