A learning machine: part 1