new algorithm and format