observables improved + templating