learning backend