caution: write is writing a constant