fix major async bug undefined means good