approximiate allgorithm