heuristic pseudocode