replaced timed_sequence with coroutines