algorithms improved