My own soot learning code