added heuristic functionalities