revised
try to fix