added directwrite