some algorithms updated