*modified p.learn