employs algorithms