first pass at mapping. Not functional and needs redesign