modify algo