updated algoritm document