forwarding the range to the async lambda works but it's getting ridiculous
s?: unify style
s: remove useless code
s: moving and renaming