algorithms complete