make async and accept dotted notation