reactive programming based on adaio/ada