self learning repository