use serial version write