add singleton to pattern analysis
move singleton
fix fingerprint generation
singleton in progress