better algorythme