this is more accurate