Added actual learning algorithms