fully functional history mapper