added some function like 'otherwise$' using `done` replace with `then`