add map and union reader