Algo's implementation (is it really working ?)