refactor: observables instead of playing with the DOM