https://datadosen.com/ml/Reactive_programming