functions can be updated realtime
dtw