fixed bugs, intelligent hint type chooser