add complex expression but it doesn't work yet because I don't listen for changes inside them