Refactor to split out individual mappers