added  some heuristics, updated the class diagram, added description to
the heuristics, changed Interface Heuristic to abstract class heuristic