removed all prototype assignments from construction
made an initial version of fast duplicate detection, but it is as yet untested. huge amount of code, not cool