Can_Write is refactored