added mappers and reducer