added ability to autmatically infer a mapping
dont amend after pushing :D