fix algo XD