mapping not perfect but pretty robust! hollerrrr