added guided an unguided algorithms