hash and typeinfo refactoring

change windows makefiles

revert typeinfo refactoring

revert typeinfo refactoring