fix that only require resource once