replace tasklet with reader and writer