learning and testing