learning methods