# non-commutative algebra with formal functions

I'd like to look at the following: the set of formal functions with 2 variables f(x,y) and the real numbers a,b,c..., including an addition and a non-commutative multiplication, such that things like

```
expand((a+f(x,y))*(b+c*f(u,v))) = a*b + a*c*f(u,v) + b*f(x,y) + c*f(x,y)*f(u,v)
```

are possible (and vice versa), and with the multiplication of the functions

```
f(x,y)*f(u,v) != f(u,v)*f(x,y)
```

being non-commutative, however with the multiplication of the functions by the real scalars

```
a*f(x,y) == f(x,y)*a
```

still commutative. Can I construct something like that with sage?