learning errors