modification on read marco